﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Domain;


namespace Simply.DataTier.Repository.Interface
{
    public interface IStaticDataRepository 
    {
        List<IndustryDO> GetAllIndustries();
        List<StyleDO> GetAllStyles();
        List<ColorThemeDO> GetAllColorThemes();
        List<TagDO> GetAllTags();
        List<PrintMediaTypeDO> GetAllPrintMediaTypes();
        List<DesignGroupDO> GetAllDesignGroups();
        List<FontDO> GetAllFonts();

        int GetProductCountForStyle(int styleId, string productType);
        int GetProductCountForIndustry(int industryId, string productType);
        int GetProductCountForColor(int colorId, string productType);
        FontDO GetFontById(int fontId);
        List<PrintMethodDO> GetPrintMethodsByMediaType(string mediaType);
        PrintMediaDO GetPrintMediaByCode(string mediaCode);

        StyleDO GetStyleById(int id);
        IndustryDO GetIndustryById(int id);

        int CreateStyle(StyleDO style);
        int CreateIndustry(IndustryDO industry);
        int CreateColorTheme(ColorThemeDO colorTheme);
        long CreateTag(TagDO tag);
        void CreatePrintMediaType(PrintMediaTypeDO type);
        long CreateDesignGroup(DesignGroupDO design);
        int CreateFont(FontDO font);
    }
}
